using System;
using System.Collections.Generic;
using ACE.Board;
using System.Text;

namespace ACE.Engine
{
    /// <summary>
    /// To make this extendable we can make the engine interface a class interface.
    /// </summary>
    interface IChessEngine
    {
        /// <summary>
        /// Evaluate the board and return the next best move.
        /// </summary>
        /// <param name="board">The board to evaluate</param>
        /// <returns>The move that is determined to be the best one.</returns>
        Move GetNextMove(ChessBoard board);
        int WhiteTime { get;set;}
        int BlackTime { get;set;}
        int BlackInc { get;set;}
        int WhiteInc { get;set;}
        int MovesToGo { get;set;}
        int SearchDepth { get;set;}
        int SearchNodes { get;set;}
        void go();
    }
}
